var prefix = "/jzweb/stuSignUpComNum2Po";
let typesRace = window.location.href.split('?')[1].split('=')[1];
	sessionStorage.setItem('types',typesRace);

var selectedIndex = 0;
$('body').on('change','#selEbatchId',function (ev){
	selectedIndex = ev.target.selectedIndex;
})

$(function() {
	let state = $('#permsType').val()
	state === '1' ? data.push({field : 'realityNm1',title : '第一次加密',formatter:function (value, row, index){
			if( row.hideOrShow ){
				return value
			}
			return '*******';
		}}) : data.push({field : 'realityNm3',title : '第一次加密',formatter:function (value, row, index){
			if( row.hideOrShow ){
				return value
			}
			return '*******';
		}})
	state === '1' ? data.push({field : 'realityNm2',title : '第二次加密',formatter:function (value, row, index){
			if( row.hideOrShow ){
				return value
			}
			return '*******';
		}}) : data.push({field : 'realityNm4',title : '第二次加密',formatter:function (value, row, index){
			if( row.hideOrShow ){
				return value
			}
			return '*******';
		}})
	data.push({
		title : '操作',
		field : 'id',
		align : 'center',
		formatter : function(value, row, index) {
			let statenone = state === '1' ? row.realityNm1 : row.realityNm3
			let statentwo = state === '1' ? row.realityNm2 : row.realityNm4
			let e = `<a class="btn btn-primary btn-sm" href="#" mce_href="#" title="点击录入" onclick="edit('${row.id}','${statenone}','${statentwo}','${row.hideOrShow}')">点击录入</a>`;
			return e;
		}
	} )

	$.ajax({
		type : 'post',
		url : '/jzweb/mark/selEbatchIds',
		contentType: 'application/json',
		data: JSON.stringify( {competitionType:sessionStorage.getItem("competitionTypes") ? sessionStorage.getItem("competitionTypes") : 'null'} ),
		success : function(r) {
			if (r.code == 0) {
				let str = '';
				r.data.map(function (v,k){
					// if( k == 0 ) str += `<option value="">请选择</option> `
					str += `<option value="${v.id}" data-cbatchId="${v.cbatchId}" data-type="${v.competitionType}">${v.name}</option>`
				})
				$("#selEbatchId").html(str);
				load();
			} else {
				layer.msg(r.msg);
			}
		}
	});

});
let data = []

function load() {


	$('#exampleTable')
			.bootstrapTable(
				{
						method : 'get', // 服务器数据的请求方式 get or post
						url : prefix + "/list", // 服务器数据的加载地址
					//	showRefresh : true,
					//	showToggle : true,
					//	showColumns : true,
						iconSize : 'outline',
						toolbar : '#exampleToolbar',
						striped : true, // 设置为true会有隔行变色效果
						dataType : "json", // 服务器返回的数据类型
						pagination : true, // 设置为true会在底部显示分页条
						singleSelect : false, // 设置为true将禁止多选
						// contentType : "application/x-www-form-urlencoded",
						// //发送到服务器的数据编码类型
						pageSize : 10, // 如果设置了分页，每页数据条数
						pageNumber : 1, // 如果设置了分布，首页页码
						//search : true, // 是否显示搜索框
						showColumns : false, // 是否显示内容下拉框（选择显示的列）
						sidePagination : "server", // 设置在哪里进行分页，可选值为"client" 或者 "server"
						queryParamsType : "",
						// //设置为limit则会发送符合RESTFull格式的参数
						queryParams : function(params) {
							return {
								//说明：传入后台的参数包括offset开始索引，limit步长，sort排序列，order：desc或者,以及所有列的键值对
								pageNumber : params.pageNumber,
								pageSize : params.pageSize,
								types:$('#types').val(),
								name: $("#name").val(),
								competitionType:$('#selEbatchId option').eq(selectedIndex).attr('data-type'),
								cbatchId:$('#selEbatchId option').eq(selectedIndex).attr('data-cbatchId'),
								ebatchId:$('#selEbatchId').val(),
								permsType:$('#permsType').val()
					           // name:$('#searchName').val(),
					           // username:$('#searchName').val()
							};
						},
						// //请求服务器数据时，你可以通过重写参数的方式添加一些额外的参数，例如 toolbar 中的参数 如果
						// queryParamsType = 'limit' ,返回参数必须包含
						// limit, offset, search, sort, order 否则, 需要包含:
						// pageSize, pageNumber, searchText, sortName,
						// sortOrder.
						// 返回false将会终止请求
						responseHandler : function(res){
                            return {
                                "total": res.data.total,//总数
                                "rows": res.data.records   //数据
                             };
                        },
						columns : data

					});
}

function reLoad() {
	load();
	$('#exampleTable').bootstrapTable('refresh');
}

function formContent (value,values,hideOrShow) {
	let val = value , valus = values;
	if( hideOrShow == 'true' ){
		if( val == 'null' ) {
			val = '';
		}
		if( valus == 'null' ) {
			valus = '';
		}
	}else{
		val  = '*******';
		valus = '*******';
	}

	return `
		<div style="padding: 20px 20px">
			<form class="form-horizontal m-t" id="signupForm">
				<div class="form-group">
					<label class="col-sm-4 control-label">第一次加密号：</label>
					<div class="col-sm-7">
						<input id="name" name="name" placeholder="请输入第一次加密号" class="form-control" type="text" disabled value="${ val }">
					</div>
				</div>
				<div class="form-group">
					<label class="col-sm-4 control-label">第二次加密号：</label>
					<div class="col-sm-7">
						<input id="num1" name="num1" placeholder="请输入第二次加密号" class="form-control" type="text" value="${valus}">
					</div>
				</div>
			</form>
		</div>
	`
}
function edit(id,value,values,hideOrShow) {
	layer.confirm(formContent(value,values,hideOrShow), {
		title: '信息录入',
		type: 1,
		btn: hideOrShow == 'true' ? ['确定', '取消'] : [],
		area : [ '500px', '270px' ],
		yes: function(index, layero){
			let state = $('#permsType').val()
			let list = $('#num1').val().trim();
			// 获取表单数据并处理逻辑
			if(value !== '') {
				try{
					let formData = new FormData();
					formData.append('id', id);
					state === '1' ? formData.append('realityNm2', list) : formData.append('realityNm4', list)
					formData.append('permsType',state);
					updateRecord(formData,index)
				}catch (e) {
					layer.msg(e)
				}
				return
			}else {
				layer.msg('请输入第二次加密');
			}
		},
		btn2: function(index, layero){
			// 关闭确认框
			layer.close(index);
		}
	});
}

//导出
function downExcelModelFile() {
	layer.confirm('您确定要导出吗？', {
		btn1:function(index){
			try {
				window.location.href = prefix + `/downloadImportStu?cbatchId=${$('#selEbatchId').val()}&permsType=${$('#permsType').val()}`;
				layer.close(index)
			}catch (e) {
				layer.close(index)
			}

		}
	});
}


// 录入第二次加密号
function updateRecord(data,index) {
	return new Promise(function (resolve, reject) {
		$.ajax({
			url: "/jzweb/stuSignUpComNum2Po/update",
			type: "POST",
			data: data,//
			processData: false,   // jQuery不要去处理发送的数据
			contentType: false,   // jQuery不要去设置Content-Type请求头
			success: function (response) {
				if (response.code !== '0') {
					layer.msg(response.msg)
					reject(response)
					return
				}
				reLoad()
				layer.msg(response.msg)
				layer.close(index);
				resolve(response)
				// 处理响应数据
			},
			error: function (xhr, status, error) {
				resolve(error)
			}
		});
	})
}